(function (mui, $) {
var page  = window.page = {};
var _Data = {'goods_id':'', 'order_id':''};

mui.plusReady(function () {
	var view = plus.webview.currentWebview();
	_Data.order_id = view.extras.order_id;
	
	plus.nativeUI.showWaiting();
	$.ajax({
		'dataType' : 'json',
		'type'     : 'post',
		'url'      : app.url('App/Order/Index/detail'),
		'data'     : {'token':app.store('token'), 'data':_Data},
	})
	.fail(function (res) {
		// 失败回调
		plus.nativeUI.closeWaiting();
		app.log('获取订单详情失败：', res);
		app.toast('获取订单详情失败');
	})
	.done(function (res) {
		// 成功回调
		plus.nativeUI.closeWaiting();
		app.log('订单详情：', res);
		
		if (500 == res.code) { app.toast('你还未登录'); return; }
		if (300 == res.code) { app.toast(res.msg); return; }
		if (200 != res.code) { app.toast('请求失败'); return; }
		if (res.msg) { app.toast(res.msg); }
		
		
		var dom = $('.container-pull-refresh .scroll-data');
		$(dom).html(app.tpl($(dom).attr('data-tpl'), res));
		
		$('.btn-submit').prop('disabled', false);
	})
	;
});

// 选择星级
$('body').delegate('.star>li', 'tap', function () {
	$(this).removeClass('active').addClass('active');
	$(this).prevAll('li').removeClass('active').addClass('active');
	$(this).nextAll('li').removeClass('active');
});

// 提交评论
$('body').delegate('.btn-submit', 'tap', function () {
	var dom  = this, view = plus.webview.currentWebview();
	var data = [];
	$('.product').each(function (idx, item) {
		var one = {
			'goods_id' : $(item).attr('data-id'),//商品ID
			'content'  : $(item).find('textarea').val(),//评论内容  5个字符以上
			'star'     : $(item).find('.star>li.active').length,  //商品打星
			'type'     : 1,//评论类型   1:好评,2:中评,3:差评
			'images'   : [],//评论图片
		}
		if (one.star < 2) {
			one.type = 3;
		} else if (one.star < 4) {
			one.type = 2;
		} else {
			one.type = 1;
		}
		$(item).find('.image-item').each(function (idx, item) {
			one.images.push($(item).attr('data-path'));
		});
		data.push(one);
	});
	for (var i in data) {
		var item = data[i];
		if (0 == item.star) { alert('至少给商品打一个星'); return; }
		if (!item.content || item.content.length < 5) { alert('评论内容至少输入5个字'); return; }
	}
	
	app.log('提交评论：', {'token':app.store('token'), 'order_id':_Data.order_id, 'data':data});
	plus.nativeUI.showWaiting();
	$(dom).prop('disabled', true);
	$.ajax({
		'dataType' : 'json',
		'type'     : 'post',
		'url'      : app.url('App/Goods/Comment/create'),
		'data'     : {'token':app.store('token'), 'order_id':_Data.order_id, 'data':data},
	})
	.fail(function (res) {
		// 失败回调
		plus.nativeUI.closeWaiting();
		app.log('提交评论失败：', res);
		app.toast('提交评论失败');
		$(dom).prop('disabled', false);
	})
	.done(function (res) {
		// 成功回调
		plus.nativeUI.closeWaiting();
		app.log('评论结果：', res);
		$(dom).prop('disabled', false);
		
		if (500 == res.code) { app.toast('你还未登录'); return; }
		if (300 == res.code) { app.toast(res.msg); return; }
		if (200 != res.code) { app.toast('请求失败'); return; }
		if (res.msg) { app.toast(res.msg); }
		// 提交一次成功后不允许再次提交
		$(dom).prop('disabled', true);
		// 禁用图片上传
		$('.product').find('.btn-add-image').remove();
		
		notify('member.order.scroll.delivered.html');
		notify('member.comment.scroll.todo.html');
		
		plus.webview.currentWebview().close();
	})
	;
});

function notify (id) {
	try {
		var view = plus.webview.getWebviewById(id);
		if (view) { view.evalJS('page.refresh()'); }
	} catch (e) {}
}

var cache = {'dom':null};
// 删除上传图片
$('body').delegate('.image-item .icon-close', 'tap', function () {
	$(this).closest('.image-item').remove();
});
// 选择头像
$('body').delegate('.btn-add-image', 'tap', function () {
	cache.dom = this;
	app.wxInit({
    error: function (res) {
      app.log('图片上传失败：', res);
    },
    success: function () {
      app.wxUploadImage(function (res) {
        app.log('上传结果：', res);
        $.ajax({
          'dataType' : 'json',
          'type'     : 'post',
          'url'      : app.uploadUrl('/getWeChatImage'),
          'data'     : { data: { media_id: res.join(',')}}
        })
        .fail(function (res) {
          app.log('图片上传失败：', res);
        })
        .done(function (res) {
          app.log('图片上传成功：', res.data.lists);
          append({ data: res.data.lists });
        });
      });
    }
  });
});

function getFromCamera () {
	var camera = plus.camera.getCamera();
	camera.captureImage(function(e) {
		plus.io.resolveLocalFileSystemURL(e, function(entry) {
			upload([{'path':entry.toLocalURL()}]);
		}, function(e) {
			plus.nativeUI.toast("读取拍照文件错误：" + e.message);
		});
	}, function(res) {
		plus.nativeUI.toast(res);
	}, {
		filename: "_doc/head.jpg"
	});
}

function getFromGallery () {
	plus.gallery.pick(function(e) {
		var queue = [];
		for (var i in e.files) {
			queue.push({'path':e.files[i]});
		}
		upload(queue);
	}, function(e) {}, {
		filter: "image", multiple:true
	});
};

function cutter (image) {
	upload(image);
}

function upload (images) {
	app.log('上传数据：', images);
	plus.nativeUI.showWaiting('正在处理...');
	function _cb (result, status) {
		var res = result.responseText;
		plus.nativeUI.closeWaiting();
		
		try { res = JSON.parse(res); } catch (e) { status = 404 }
		
		if (status == 200) {
			//plus.nativeUI.toast('上传文件成功');
			app.log('上传结果：', res);
			
			if (500 == res.code) { app.toast('你还未登录'); return; }
			if (300 == res.code) { app.toast(res.msg); return; }
			if (200 != res.code) { app.toast('请求失败'); return; }
			//if (res.msg) { app.toast(res.msg); }
			append(res);
		} else {
			app.log('上传头像失败：', result.responseText);
			plus.nativeUI.toast('上传图片失败');
		}
	}
	var task = plus.uploader.createUpload(app.url('Files/Upload/appUpload'), { method:"POST",blocksize:204800,priority:100 }, _cb);
	for (var i in images) {
		task.addFile(images[i].path, {'name':images[i].name});
	}
	//task.addData('thumb', image);
	task.addData('token', app.store('token'));
	task.addData('action', 'uploadimage');
	
	task.start();
}

function append (images) {
	var tpl = app.tpl('tpl-image', images);
	$(cache.dom).before(tpl);
}

})(mui, $);
